<?php
/* 
标签模型
* @Author: {daifei}
* @Date:   2014-03-20 18:53:52
* @Last Modified by:   {daifei}
* @Last Modified time: 2014-03-22 14:06:00
*/

class TagModel extends Model{
	public $table='Tag';
	public $validate=array(
		array('tagname' ,'' ,'标签名不能为空!' ,2,1)
		);
	/**
	 * [get_data 获得所有的数据]
	 * @return [type] [description]
	 */
	public function get_data($field=NULL){
		//传一参数  是字段名
		$total=$this->count();
		$page=new page($total,10,3,3);
		$limit=$page->limit();	
		$data=$this->limit($limit)->all();
		$data['page']=$page->show();
		return $data;
	}
	/**
	 * [add_info 添加标签]
	 * 标签的规则是以逗号空格 换行 为界限表示一个标签
	 */
	public function add_data(){
		$tag=Q('post.tagname');
		//正则匹配的规则
		if(preg_match('/^[0-9a-zA-Z]+$/',$tag)){
			$this->add(array('tagname'=>$tag));
			return true;
		}
		$preg="/[\s,\r\n]+/is";
		if(!preg_match($preg, $tag)){
			//这里的error是model中ajax的属性
			//还有一个是方法   表示失败了弹出错误并且跳转 
			$this->error='格式不正确';
			return false;
		}
		//正则匹配获得数据
		//将字符串 全部分割成数组
		$arr=preg_split($preg, $tag);
		//排重 去掉用户重复输入的
		$arr=array_unique($arr);
		//循环这个用户的数组去跟表中的数组进行一个对比


		// $re=$this->get_data();
		// foreach ($re as  $v) {
		// 	foreach ($arr as $k => $value) {
		// 		if(in_array($value, $v)){
		// 			unset($arr[$k]);
		// 		}
		// 	}
		// }

		

		//循环插入
		foreach ($arr as $v) {
			//将切割出来的数组 中的空值排除出去
			if(empty($v)) continue;
			$data=array('tagname' => $v);
			$this->add($data);
		}
		return true;
	}
	/**
	 * [update_data 修改数据库]
	 * @return [type] [description]
	 */
	public function update_data(){
		//接受全部来的数据
		$this->save();

	}
	/**
	 * [del_data 删除数据]
	 * @return [type] [description]
	 */
	public function del_data($tid){
		return $this->delete(array('tid' => $tid));

	}
}
?>
